Repository navigation
[Feat] Ubuntu 26.04 support - #1769
mylinuxforwork merged 4 commits into
Conversation
|
I am looking forward testing this. |
I can't wait to hear feedback and what changes are possibly needed. However, which repo do I need to edit to make the online command detect Ubuntu? |
4b92931 to
d9e73c6
Compare
|
Updated my branch to the latest main |
d9e73c6 to
e66b031
Compare
|
@mylinuxforwork You will need the installer script, which is https://github.com/solidus1983/dotfiles/blob/test/ubuntu-26-04-vm-install/install-ubuntu.sh if you want to test. I have also rebased from main again. |
|
My laptop died so awaiting for engineer to come out to replace main board after I will rebase again. |
|
Good look with your Laptop. No stress. I have just released ML4W OS 2.15 and Ubuntu support would be next ;-) |
e66b031 to
b795983
Compare
|
Right i have now rebased my branches with the latest changes, and my laptop is now working again! |
b795983 to
2e2f0a4
Compare
|
Rebased on the latest main. |
|
Testing some changes to Ubuntu scripts during a code cleanup. |
3d9601f to
8b9aac1
Compare
|
@mylinuxforwork I am now ready for code review. Should be done now, and will keep the rebases up to date from this point forward. Awaiting your feedback, and will make changes where requested to do so. |
234c925 to
396eb72
Compare
2294bcb to
8215656
Compare
|
Currently away for Training, will rebase with the main branch once I am able to do so. |
8215656 to
b1ab6d7
Compare
d2e51a3 to
1b4decb
Compare
|
@mylinuxforwork The work is now ready, and the installation script is still in the testing branch. Any scripts that still perform checks on the OS that go to |
c8b2d07 to
bb6a32d
Compare
|
Fixing some bugs quickly |
abaf60e to
dcfebd8
Compare
Add preflight, post and package list scripts for Ubuntu, following the same layout as Arch, Fedora and openSUSE. preflight-ubuntu.sh enables universe and restricted and adds the repos Ubuntu doesn't ship: the cppiber Hyprland PPA, the danklinux PPA for cliphist, the Charm repo for gum, and the Mozilla Team PPA, pinned so that firefox installs as a .deb rather than the snap. It also removes swww if it's installed. post-ubuntu.sh: - Builds quickshell, awww, walker, elephant and nwg-displays from source, and installs matugen with cargo. None of these are packaged for Ubuntu. - Installs Quickshell Overview, ML4W Dock and ML4W Dotfiles Settings. The settings app's setup.sh only knows pacman, dnf and zypper, so it is cloned and installed with make install instead. - Installs JetBrains Mono Nerd Font and Font Awesome 7. - Adds ConditionEnvironment drop-ins so hyprpolkitagent only runs under Hyprland and snapd-desktop-integration only under GNOME, and hides the mate-polkit autostart entry. - Masks the waybar, hypridle and hyprsunset user units, which would otherwise start alongside the copies autostart.lua launches. autostart.lua starts hyprpolkitagent.service and falls back to polkit-gnome when that unit doesn't exist. It also skips launching swaync when post-ubuntu.sh has set up D-Bus activation, because starting it both ways raced and failed with "already running!". Add a matugen template to theme the hyprpolkitagent dialog. Signed-off-by: William Rogers <hacktrix2006@gmail.com>
ml4w-walker is the new upstream installer for walker, elephant and the providers. It supports Arch, Fedora, openSUSE and Ubuntu 25.10+, so call it from post.sh and drop the cargo/go builds from post-ubuntu.sh. Walker now gets installed on every distro. Add `ml4w-walker start` to ml4w-autostart. Without it elephant is never started and walker hangs waiting for its socket. launcher.sh called ~/.config/walker/launch.sh, which upstream removed along with the rest of .config/walker, so choosing walker as the launcher did nothing. Call walker directly. Signed-off-by: William Rogers <hacktrix2006@gmail.com>
Upstream removed .config/walker, including the ml4w theme, and the matugen walker template in early August. Walker still reads themes from ~/.config/walker/themes, so restore the theme's style.css as it was and the matugen template that writes ~/.config/walker/colors.css. launcher.sh now passes -t ml4w so walker uses it. Signed-off-by: William Rogers <hacktrix2006@gmail.com>
Ubuntu's grim package is built without JPEG support. The default screenshot filename ends in .jpg, so screenshot.sh fails with "jpeg support disabled" and nothing gets saved. Build grim 1.5.0 with -Djpeg=enabled and install it to /usr/local/bin, which comes before the packaged grim on PATH. The step is skipped when /usr/local/bin/grim already links libjpeg. Tested by building 1.5.0 with the same flags and taking a JPEG screenshot with it. The post-ubuntu.sh step itself hasn't been run yet. Signed-off-by: William Rogers <hacktrix2006@gmail.com>
b637930 to
75b702b
Compare
|
Right, I am now finished with this PR. @mylinuxforwork, happy testing. |
|
Great. Thank you. Will start testing soon. |
|
@solidus1983 I have finalized a first version. Incuding a new version for the ML4W Dotfiles Installer.
on Ubuntu. |
However, going to the link Will test the .sh trick on the VM as well. |
|
Rebooting into hyprland did work however after |
The command is working fine. Just running test installations. |
|
Just installed it without any issues on Ubuntu Workstation. Warnings are fine. Thanks again for you support. Launch is planned for the weekend, latest for Monday. |
Might be the network I am connected too might be triggering IDS as manually going to the script in browser does stated about checking before letting me in. Can't wait Debian is next on my list. |
|
Update: Starting the work to add Debian 13 support now, the way Ubuntu is now in main, so without my additions that you removed. |
|
Also you can use my real name |
Sure. Will add your name to https://ml4w.com/os/credentials/thankyou and will mention you in the next video description. |
Great. But now stress. Every support for a distro means a lot of maintenance and testing. Let's start with Ubuntu first. |
Will be taking my time, will also try and make it easier for you as well. |


Description
Adds support for installing ML4W on Ubuntu 26.04.
Changes
Context
There's currently no official way to install ML4W on Ubuntu. This adds the Ubuntu preflight, post and package scripts, plus a few fixes to shared files that came up while testing.
Ubuntu setup (new files)
setup/dependencies/packages-ubuntu,setup/preflight-ubuntu.shandsetup/post-ubuntu.sh, following the same layout as Arch/Fedora/openSUSE.preflight-ubuntu.shenables universe and restricted and adds the repos Ubuntu doesn't ship: the cppiber Hyprland PPA, the danklinux PPA (cliphist), the Charm repo (gum), and the Mozilla Team PPA, pinned sofirefoxinstalls as a .deb instead of the snap. It also removes swww if it's installed.post-ubuntu.shbuilds quickshell, awww, nwg-displays and grim from source and installs matugen with cargo. grim is rebuilt because Ubuntu's package has no JPEG support, which breaks the default.jpgscreenshot filename.make install, because itssetup.shonly detects pacman/dnf/zypper and exits on Ubuntu.fonts-font-awesomepackage is 4.7 and doesn't provide the "Font Awesome 7" family waybar uses.run_quiet/LOG_FILE, which the installer provides (same as the other distros). curl downloads retry on network errors.Shared changes (all distros)
autostart.lua: startshyprpolkitagent.serviceand falls back to polkit-gnome when that unit doesn't exist. Skips launching swaync when post-ubuntu.sh has set up D-Bus activation, because starting it both ways raced and failed with "already running!".post.sh: installs walker and elephant through ml4w-walker, which supports Arch, Fedora, openSUSE and Ubuntu 25.10+.ml4w-autostartnow runsml4w-walker start. Without it elephant never starts and walker hangs.launcher.sh: fixes the walker launcher. It called~/.config/walker/launch.sh, which was removed upstream on 4 August, so choosing walker did nothing. It now runswalker -t ml4w..config/walker/themes/ml4w/style.css) and its matugen template, both removed upstream in early August, so walker matches the system colours.hyprtoolkit-colors.conf) to theme the hyprpolkitagent dialog.How Has This Been Tested?
Tested in a VM while building, then a clean install on bare metal.
The grim build was added afterwards. I built grim 1.5.0 with the same meson flags and took a JPEG screenshot with it, but haven't run the full install with that step yet.
The changes to autostart.lua, post.sh, launcher.sh and ml4w-autostart affect every distro but have only been tested on Ubuntu.
Checklist
Screenshots
Additional Notes
The installer (ml4w-dotfiles-installer) will need a separate PR to recognise Ubuntu and run these scripts.